チャートのレコード関数の例
Top 関数の例
これらの例は、 top 関数で作成されていますが、bottom、first および last 関数にも同じように適用できます。ただし、 first と last 関数は、ピボット テーブルにのみ関連します。
例1:
1 軸のテーブルで使用する top 関数を描写する、次のストレート テーブルの表示を見てください。
Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|
- | 21 | 3 | 700% |
1 | 3 | 3 | 100% |
2 | 7 | 3 | 233% |
3 | 11 | 3 | 367% |
1 軸の場合、top 関数は、常にテーブルの最初のデータ行を参照します (合計行は含まれません)。
top 関数を使用する数式は、合計行でも正しく評価されます。合計は、特定の列セグメント (この例では、列全体) と明確な関係があるためです。
例2:
これは、主に Grp 項目でソートされた 2 軸ストレート テーブルです。
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | 1 |
1 | A | 1 | 1 | 1 |
2 | A | 3 | 1 | 1 |
3 | A | 5 | 1 | 1 |
1 | B | 2 | 2 | 1 |
2 | B | 4 | 2 | 1 |
3 | B | 6 | 2 | 1 |
total 修飾子のない top 関数は、最も内側のソート グループ内 (この例では、Grp 軸) の先頭行で評価された数式を返します。Grp=A に 1 つの値、Grp=B に 1 つの値を返します。
複数軸の場合は、total 修飾子を使用することで、テーブル全体の先頭行を再度参照し、すべての行に同じ値を返すことができます。もちろん、数式は、列全体にわたる列セグメントで評価されます。
total 修飾子なしで top 関数を使用する数式は、合計行では NULL に評価されます。これは、特定の列セグメントに明確に関連付けられていないためです。
次は、上のストレート テーブルをすべての合計を表示するピボット テーブルに変換してみます。
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
1 | A | 1 | 1 | 1 |
1 | B | 2 | 1 | 1 |
1 | 合計 | 3 | 1 | - |
2 | A | 3 | 3 | 1 |
2 | B | 4 | 3 | 1 |
2 | 合計 | 7 | 3 | - |
3 | A | 5 | 5 | 1 |
3 | B | 6 | 5 | 1 |
3 | 合計 | 11 | 5 | - |
合計 | - | 21 | - | 1 |
total 修飾子なしで top 関数を使用する数式は、合計行では NULL に評価されます。これは、特定の列セグメントに明確に関連付けられていないためです。ただし、すべての部分合計は、列セグメントごとに評価されます。
total 修飾子を使用する数式は、部分合計に値を返しませんが、全合計行には値を返します。
例3:
次の Grp 項目でソートされたストレート テーブルを見てください。
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
2 | A | 3 | 1 | 300% |
3 | A | 5 | 1 | 500% |
1 | B | 2 | 2 | 100% |
2 | B | 4 | 2 | 200% |
3 | B | 6 | 2 | 300% |
次に、チャートが Month でソートされるように、項目ソート順を変更します。テーブルは次のようになります。
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
1 | B | 2 | 1 | 200% |
2 | A | 3 | 3 | 100% |
2 | B | 4 | 3 | 133% |
3 | A | 5 | 5 | 100% |
3 | B | 6 | 5 | 120% |
Above 関数の例
これらの例は、 above 関数で作成されていますが、below、before および after 関数にも同じように適用できます。ただし、 before と after 関数は、ピボット テーブルにのみ関連します。
例4:
1 軸のテーブルで使用する above 関数を描写する、次のストレート テーブルの表示を見てください。
Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
---|---|---|---|
- | 21 | - | - |
1 | 3 | - | - |
2 | 7 | 3 | 233% |
3 | 11 | 7 | 157% |
3 列目は、現在行の 1 つ上の行を評価する数式 sum(Val) を示します。これは、2 列目の sum(Val) の値と比較することで確認できます。最初の行では、above 関数は NULL を返します。数式が評価される上の行が存在しないためです。above 関数は、すべての合計行に対して常に NULL を返します。
4 列目は、この関数の最も一般的な使用方法を示します。つまり、さまざまな期間ごとの違いなどを計算します。
例5:
次の 2 軸ピボット テーブルを見てください。
Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
---|---|---|---|---|
A | 1 | 1 | - | - |
A | 2 | 3 | 1 | 1 |
A | 3 | 5 | 3 | 3 |
A | 合計 | 9 | - | - |
B | 1 | 2 | - | 5 |
B | 2 | 4 | 2 | 2 |
B | 3 | 6 | 4 | 4 |
B | 合計 | 12 | - | - |
合計 | - | 21 | - | - |
total 修飾子のない above 関数 (3 列目) は、各ソート グループ内でのみ機能します。各列セグメントの先頭行には、NULL 値が返されます。
total 修飾子を追加すると (4 列目)、列全体が 1 つの列セグメントと見なされます。一番上の先頭行だけが NULL を返します。すべての合計行は無視され、NULL を返します。
RowNo および NoOfRows 関数の例
この例は、RowNo および NoOfRows 関数で作成されていますが、ColumnNo および NoOfColumns 関数にも同じように適用できます。ただし、 ColumnNo と NoOfColumns 関数は、ピボット テーブルにのみ関連します。
例6:
次の 2 軸ピボット テーブルを見てください。
Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
---|---|---|---|---|---|
1 | A | 1 | 1 | 2 | 6 |
1 | B | 2 | 2 | 2 | 6 |
1 | 合計 | 0 | - | 2 | - |
2 | A | 1 | 3 | 2 | 6 |
2 | B | 2 | 4 | 2 | 6 |
2 | 合計 | 0 | - | 2 | - |
3 | A | 1 | 5 | 2 | 6 |
3 | B | 2 | 6 | 2 | 6 |
3 | 合計 | 0 | - | 2 | - |
合計 | - | - | 0 | - | 6 |
- 3 列目の RowNo 関数は、各ソート グループの列セグメント内の行番号を返します。小計行では、行番号 0 が返されます。これらの合計は、特定の列セグメントに明確に属しているためです。全合計行には、NULL が返されます。
- 4 列目の total 修飾子を使用する RowNo 関数は、列全体内の行数を返します。小計行には、NULL 値が返されます。全合計行には、0 が返されます。
- 5 列目 NoOfRows 関数は、各ソート グループの列セグメント内のデータ行の数を返します。小計行では、データ行と同じ数が返されます。全合計行には、NULL が返されます。
- 6 列目の total を使用する NoOfRows 関数は、列全体内のデータ行の数を返します。この数は、全合計行にも返されます。小計行には、NULL が返されます。